2023/12/232808字符
Dom 操作
HTML
<div class="demo" id='hello'>one</div>
<div class="demo">two
<ul class="list">
<li>1
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</li>
<p>p</p>
<li class="nice">2</li>
<li></li>
<li class="nice">3</li>
</ul>
</div>
<div class="demo">three</div>
JS
$('.demo').get(1); // 获取指定元素 参数为正时取索引值对应的元素,参数为负数时从后索取,参数为空时将类数组转为数组
$('.demo').eq(2); // 获取指定元素
$('.demo').find('.nice'); // 子、孙子……选择
$('.demo').find('li').filter('.nice'); // 对原先选择的做过滤选择
$('.demo').find('li').filter(function (index, ele) {
// console.log(this); // 这里的this指向自身,es5中的 filter this指向filter()的第二个参数
return index % 2 == 0;
}).css({color: 'red'});
$('.demo').find('li').not('.nice'); // 与filter相反,返回不符合条件的
$('.demo').find('li').has('ul').css({color: 'orange'}); // 筛选匹配元素集合中的那些有相匹配的选择器或DOM元素的后代元素
$('.demo').find('ul').click(function (e) {
if ( $(e.target).is('li') ) { // is() 判断当前匹配的元素集合中的元素
console.log( $(e.target).text() );
}else {
console.log( $(this).text() );
}
})
$('.nice').add('.list').css({color: 'blue'}); // add() 和
$('.nice').add('.list').css({color: 'blue'}).end().css({color: 'black'}); // end() 回退操作
$('.list li').eq(0).next(); // next() 下一个兄弟元素节点
$('.list li').eq(0).next('p'); // 下一个兄弟元素节点,限制条件
$('.list li').eq(0).nextAll(); // nextAll() 下一堆兄弟元素节点
$('.list li').nextUntil('p'); // nextUntil() 下一堆不匹配的兄弟元素节点
$('.list > li').eq(2).prev(); // prev() 上一个兄弟元素节点
// prevAll() 上一堆兄弟元素节点
// prevUntil() 上一堆不匹配的兄弟元素节点
$('.list > li').parent(); // parent() 获取父级元素
$('.list > li').parents(); // parents() 获取祖先
$('.list > li').closest('ul'); // closest() 获取最近的父级元素
$('.list > li').offsetParent(); // offsetParent() 获取离指定元素最近的含有定位信息的祖先元素
$('.list > li').slice(1, 3); // slice() 截取元素
$('.list').children(); // 获取所有子元素
$('.demo').data({ // 数据存储于 jQuery 上
name: 'bozai',
age: 18
}) // vue 数据存于行间样式上是为了更好的符合规范,jQuery 数据存在 data() 上更为高效